With the constant technological improvements in computer hardware and software, so has the popularity and use of artificial intelligence (AI) advanced. Although it is difficult succinctly to define AI, it generally involves attempting to create machines that behave like humans. There are two main approaches in creating such machines: bottom-up and top-down.
The bottom-up approach includes building electronic replicas of the human brain's complex network of neurons. The human brain comprises billions of cells called neurons, and when they are grouped together in a network, neurons are able to pass electrical signals to one another. In fact, it is believed that neurons may be able to process binary numbers (e.g., 0 or 1). Binary numbers are also the basis of an electronic computer. Thus, scientists created electronic replicas of neural networks to demonstrate how electronic networks could produce logical processes. In other words, a neural network attempts to imitate the operation of the human brain by creating connections between processing elements, which are the computerized equivalent to neurons.
Neural networks are effective for predicting events when the networks have a large database of prior examples to draw on. However, there are certain inherent disadvantages to using a neural network. For example, the neural network requires a knowledge base that can be used as a training set of examples. Thus, when such previous examples are unavailable, a neural network is ineffective.
Assuming a training set of examples is available, once the neural network recognizes and learns the patterns (i.e., dynamics) of the system (i.e., plant), the learning substantially stops. In other words, neural networks are generally system specific and based upon Boolean logic (i.e., the collection of AND, OR, NOT operands to produce True/False or Yes/No results). Moreover, True/False answer to the logical Boolean operations create the connections between processing elements. Therefore, once the training set of examples is developed, the neural network is substantially developed for that particular application.
However, adding fuzzy logic to a neural network may allow for further, yet limited, learning. As discussed above, conventional Boolean logic produces completely (i.e., discrete) True or False responses. Fuzzy logic, which also utilizes Boolean logic, produces a non-discrete or fuzzy response. In other words, fuzzy logic is a multi-valued logic that allows the neural network to produce intermediate values between the conventional discrete responses. For example, rather than a conventional neural network determining whether water is hot or cold, a neural network employing fuzzy logic to determine whether the water is warm. In this way, the machine includes a more human-like way of thinking. One of the primary advantages of fuzzy logic is that it allows expertise from experienced engineers to be folded into the computer's decision making process without requiring representation of this expertise to be in the form of a set of differential equations or other explicit mathematical expressions.
Although fuzzy logic allows the machine to behave in a manner more similar to a human, it does not completely allow the neural network to continue its learning process. Rather, it provides the neural network with the ability to refine its previous knowledge. In other words, the fuzzy logic may allow the neural network to control a system using broader parameters, but the neural network will still be fixed to operate within such parameters. Thus, similar to a neural network that does not include fuzzy logic, the learning process associated with the bottom-up approach to controlling a machine eventually becomes saturated.
As mentioned above, the bottom-up approach includes building electronic replicas of the human brain's complex network of neurons. However, as mentioned above, neural networks require a knowledge base that can be used as a training set of examples. That training set is based on monitoring a certain number of plant variables. Thus, the neural network is generally capable of only controlling a fixed number of variables, thereby preventing the addition or subtraction of plant variables to its neural network.
The other approach for creating machines to replicate human activity is the top-down approach, which attempts to replicate the brain's behavior with computer programs. A machine that utilizes this AI approach is often referred to as an expert system. A significant number of expert systems use event correlation techniques to control the plant. In other words, the control system detects certain events within the plant and correlates those events with similar occurrences and the corresponding results that are stored within the control system's knowledge base to determine how to respond to the latest event. As discussed in detail in U.S. Pat. No. 5,528,516, which is hereby incorporated by reference, there are generally five approaches to event correlation: (1) rule-based reasoning; (2) case-based reasoning; (3) reasoning with generic models; (4) probability networks; and (5) model-based reasoning.
Of those five event correlation approaches, rule-based reasoning appears to be the approach used most often. Rule-based reasoning generally contains two components: (i) a working memory which represents knowledge of the current state of the system being monitored; and (ii) a rule base which contains expert knowledge in the form of “if-then” or “condition-action” rules. The condition part of each rule determines whether the rule can be applied based on the current state of the working memory, and the action part of a rule contains a conclusion which can be drawn from the rule when the condition is satisfied.
Rule-based reasoning can be applied in either a forward chaining mode or a backward chaining mode, but the forward chaining mode currently appears to be used more regularly. In the forward chaining mode, the working memory is constantly scanned for facts that can be used to satisfy the condition part of each rule. When a condition is found, the rule is executed. Executing a rule means that the working memory is updated based on the conclusion contained in the rule. The newly updated data can thereafter be used to satisfy the conditions of other rules, resulting in a “chain reaction” of rule executions. Rule-based expert systems benefit from straightforward knowledge acquisition because the “if-then” format of the rules often mimics the format of expert knowledge. Furthermore, the knowledge base can be incrementally modified because rules can be added or modified easily.
However, there are several inherent limitations to a rule-based expert system. For example, such a system requires the knowledge base to have plant specific information that describes the design and operation of the particular plant. Thus, for systems about which such information is unavailable or uncertain, this approach is inadequate. Additionally, as the complexity of the plant and control system increases, a larger knowledge base is required. Performing “if-then” analysis to such a large knowledge base, in turn, significantly reduces the control system's response time.
As the complexity of the plants and processes increases, so does the number of variables (i.e., nodes) that are monitored, thereby increasing the sophistication of the computerized control system. In fact, as the number of nodes increases, the complexity of the control system may increase super-linearly (e.g., exponentially). Operating such a complicated control system, in turn, often reduces its response time.
Probability networks can be used in conjunction with rule-based expert systems. For example, a rule in the form “if A then B” can be augmented with a certainty factor: “if A then B with certainty 90%”. Such a statement is an element of a probability network, and each element is considered a proposition. Additionally, probabilities can be assigned to the relationships between proposition. For example, “the truth of proposition A causes the truth of proposition B with probability 90%.” When an event occurs, the probability of the proposition representing the occurrence of that event is updated to 100%, and this change is propagated to other propositions in the network based on the relationships. A hypothesis can then be generated by listing those propositions having the highest probabilities.
Although probability networks may be able to produce hypotheses with a precise confidence level, every proposition has a causal relationship with every other proposition. Thus, the number of connections in the probability network would be approximately equal to the square of the number of propositions in the network. Accordingly, the complexity of an event correlation algorithm using probability networks is typically high. As mentioned above, as the complexity of the plant increases, so does the number of monitored variables and its system's knowledge base. Furthermore, adding probability analysis to the expert system further increases the size of the system's knowledge base and reduces the control system's overall response time.
Controlling plants and processes via computer networks and systems is continuously increasing. As the size and complexity of the plants being controlled by such computer systems increase, what is needed is a real-time response control system. In other words what is needed is a control system that does not require a training set of examples or an existing knowledge base. What is needed is a control system that has an unsaturated and unsaturatable learning process that is not bound by the preexisting rules established by the knowledge base. Additionally, what is needed in a real-time control system that has the ability to add and subtract plant variables.